/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.ems.entity;

import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotNull;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 课程管理功能Entity
 * @author zad
 * @version 2017-10-15
 */
public class Course extends DataEntity<Course> {
	
	private static final long serialVersionUID = 1L;
	private String name;		// 课程名称
	private String sign;		// 课程标识  eng：英语；paint：画画；art：艺术  用于业务上区分是什么课程
	private BigDecimal oneMoney;		// 单人及组合单价
	private BigDecimal multiMoney;		// 集体单价
	private Date beginTime;		// 报名开始时间
	private Date endTime;		// 报名结束时间
	private Date beginBeginTime;		// 开始 报名开始时间
	private Date endBeginTime;		// 结束 报名开始时间
	private Date beginEndTime;		// 开始 报名结束时间
	private Date endEndTime;		// 结束 报名结束时间
	
	private String rule;
	private String valid;
	
	public Course() {
		super();
	}

	public Course(String id){
		super(id);
	}

	@Length(min=1, max=64, message="课程名称长度必须介于 1 和 64 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=1, max=32, message="课程标识  eng：英语；paint：画画；art：艺术  用于业务上区分是什么课程长度必须介于 1 和 32 之间")
	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}
	
	public BigDecimal getOneMoney() {
		return oneMoney;
	}

	public void setOneMoney(BigDecimal oneMoney) {
		this.oneMoney = oneMoney;
	}

	public BigDecimal getMultiMoney() {
		return multiMoney;
	}

	public void setMultiMoney(BigDecimal multiMoney) {
		this.multiMoney = multiMoney;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="报名开始时间不能为空")
	public Date getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="报名结束时间不能为空")
	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	
	public Date getBeginBeginTime() {
		return beginBeginTime;
	}

	public void setBeginBeginTime(Date beginBeginTime) {
		this.beginBeginTime = beginBeginTime;
	}
	
	public Date getEndBeginTime() {
		return endBeginTime;
	}

	public void setEndBeginTime(Date endBeginTime) {
		this.endBeginTime = endBeginTime;
	}
		
	public Date getBeginEndTime() {
		return beginEndTime;
	}

	public void setBeginEndTime(Date beginEndTime) {
		this.beginEndTime = beginEndTime;
	}
	
	public Date getEndEndTime() {
		return endEndTime;
	}

	public void setEndEndTime(Date endEndTime) {
		this.endEndTime = endEndTime;
	}

	public String getRule() {
		return rule;
	}

	public void setRule(String rule) {
		this.rule = rule;
	}

	public String getValid() {
		return valid;
	}

	public void setValid(String valid) {
		this.valid = valid;
	}
	
}